<?php
require_once("../includes/config.php");
include DIR_INCLUDES_FT.'bootstrap.php';
header('Content-type: text/html; charset=utf-8');

if(isset($_GET['id'])){
	$loja = Doctrine::getTable("Lojas")->find($_GET['id']);
	
	$produtos_associados = Doctrine_Query::create()->from("Produtos p")->innerJoin("p.ProdutosLojas pnl")
							->where("pnl.loja_id = ?", array($loja->id))->orderBy("p.nome ASC")->fetchArray();
	
	$produtos_nao_associados =  Doctrine_Query::create()->select("p.*")->from("Produtos p")
	->where("p.id NOT IN (SELECT p2.id FROM Produtos p2 INNER JOIN p2.ProdutosLojas pl where pl.loja_id = ?)", array($loja->id))->orderBy("p.nome ASC")->fetchArray();
	
} else {
	$loja = new Lojas();
	
	$produtos_associados = array();
	$produtos_nao_associados = Doctrine_Query::create()->from("Produtos p")->orderBy("p.nome ASC")->fetchArray();
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt" dir="ltr">
	<head>
		<?require(DIR_FT."header.php");?>
		<script type="text/javascript">
			jQuery.validator.addMethod("selectable", function(value, element) {
				if(value == 0){return false;}else {return true;} 
			}, "<?=SELECT_CLIENTE_ERROR?>");
			
			$(document).ready(function(){
				$("#lojas_form").validate({
					submitHandler: function(form){
						agree = confirm('<?=FORM_COMMIT?>');
						if(agree){
							$('#to_remove option').attr('selected','selected');
							form.submit();
						}
					}
				});

				$('#add').click(function() {
					!$('#to_add option:selected').each(function () {
						if ($(this).is(':visible')){
							$(this).remove().appendTo('#to_remove');
						}
						$(this).removeAttr("selected");
					});
				});
				
				$('#remove').click(function() {
					!$('#to_remove option:selected').each(function () {
						if ($(this).is(':visible')){
							$(this).remove().appendTo('#to_add');
						}
						$(this).removeAttr("selected");
					});
				});
			});

			function filtra_categoria_produtos(categoria_id) {
				// colocar disabled no inicio as 3 selects
				if (categoria_id != '') {
					$('#to_add option[label='+categoria_id+']').show();
					$('#to_remove option[label='+categoria_id+']').show();
					
					$('#to_add option[label!='+categoria_id+']').hide();
					$('#to_remove option[label!='+categoria_id+']').hide();
				} else {
					// mostra todos os registos.
					$('#to_add option').removeAttr("selected").show();
					$('#to_remove option').removeAttr("selected").show();
				}
			}
		</script>
	</head>
	<body>
	<?php require_once(DIR_MENUS_FT."menu.php");?>
	<div id="main_div"  style="">
		<form enctype="multipart/form-data" accept-charset="utf-8" id="lojas_form" action="lojas_form_edit.php" method="post">
			<fieldset id="form-area">
				<legend><?=LOJA?></legend>
				<label for="nome"><?=NOME?>:</label>
				<input type="text" class="required" id="nome" name="nome" value="<?=$loja->nome?>" />
				
				<label for="morada"><?=MORADA?>:</label>
				<textarea id="morada" class="required" name="morada"><?=$loja->morada?></textarea>
				
				<label for="cliente"><?=CLIENTE?>:</label>
				<select class="selectable" id="cliente" name="cliente">
					<option value="0" selected="selected"><?=SELECCIONE_CLIENTE?></option>
					<?$clientes = Doctrine::getTable("Clientes")->findAll(Doctrine::HYDRATE_ARRAY);
					foreach ($clientes as $cliente){?>
						<option value="<?=$cliente['id']?>" <?if($loja->cliente_id == $cliente['id']){echo 'selected="selected"';}?>><?=$cliente['nome']?></option>
					<?}?>
				</select>
				
				<label for="filtro_categorias"><?=FILTRO_CATEGORIA?></label>
				<select id="filtro_categorias" onchange="filtra_categoria_produtos(this.value);">
					<option value="" selected="selected"><?=SELECCIONE_CATEGORIA?></option>
					<?php $categorias = Doctrine::getTable("Categorias")->findAll(Doctrine::HYDRATE_ARRAY);
					foreach ($categorias as $categoria){?>
						<option value="<?=$categoria['id'];?>"><?=$categoria['nome'];?></option>
					<?}?>
				</select>
				
				<select class="associacoes" id="to_add" multiple="multiple" size="9">
				<?php foreach ($produtos_nao_associados as $produto_n) {?>
					<option label="<?=$produto_n['categoria_id']?>" value="<?=$produto_n['id']?>"><?=$produto_n['nome']?></option>
				<?}?>
				</select>
				<div class="associacoes">
					<input class="add_produto" id="add" type="button" value="<?=">>"?>" />
					<input class="remove_produto" id="remove" type="button" value="<?="<<"?>" />
				</div>
				<select class="associacoes" id="to_remove" name="produtos_associados[]" multiple="multiple" size="9">
				<?php foreach ($produtos_associados as $produto_a) {?>
					<option label="<?=$produto_a['categoria_id']?>" value="<?=$produto_a['id']?>"><?=$produto_a['nome']?></option>
				<?}?>
				</select>
				
				<input type="submit" name="submit" value="<?=GRAVAR?>" class="submit-button" />
				<div style="clear: both;"></div>
			</fieldset>
			<input type="hidden" name="id" id="id" value="<?=$loja->id?>" />
		</form>
	</div>
	<?require(DIR_FT."footer.php");?>
	</body>
</html>
